#include "BulletSoftBody/btSoftBodyData.h"
#ifdef __cplusplus
extern "C" {
#endif
btSoftBodyJointData* bullet_NewbtSoftBodyJointData(){
	btSoftBodyJointData* wrap_out = new btSoftBodyJointData();
	return wrap_out;
}

void** bullet_btSoftBodyJointData_GetFieldOfM_bodyA(btSoftBodyJointData* c_this){
	return (void**)(&c_this->m_bodyA);
}

int bullet_btSoftBodyJointData_GetFieldOfM_bodyAtype(btSoftBodyJointData* c_this){
	return (int)(c_this->m_bodyAtype);
}

void** bullet_btSoftBodyJointData_GetFieldOfM_bodyB(btSoftBodyJointData* c_this){
	return (void**)(&c_this->m_bodyB);
}

int bullet_btSoftBodyJointData_GetFieldOfM_bodyBtype(btSoftBodyJointData* c_this){
	return (int)(c_this->m_bodyBtype);
}

float bullet_btSoftBodyJointData_GetFieldOfM_cfm(btSoftBodyJointData* c_this){
	return (float)(c_this->m_cfm);
}

int bullet_btSoftBodyJointData_GetFieldOfM_delete(btSoftBodyJointData* c_this){
	return (int)(c_this->m_delete);
}

float bullet_btSoftBodyJointData_GetFieldOfM_erp(btSoftBodyJointData* c_this){
	return (float)(c_this->m_erp);
}

int bullet_btSoftBodyJointData_GetFieldOfM_jointType(btSoftBodyJointData* c_this){
	return (int)(c_this->m_jointType);
}

int bullet_btSoftBodyJointData_GetFieldOfM_pad(btSoftBodyJointData* c_this){
	return (int)(c_this->m_pad);
}

btVector3FloatData** bullet_btSoftBodyJointData_GetFieldOfM_refs(btSoftBodyJointData* c_this){
	return (btVector3FloatData**)(&c_this->m_refs);
}

btVector3FloatData** bullet_btSoftBodyJointData_GetFieldOfM_relPosition(btSoftBodyJointData* c_this){
	return (btVector3FloatData**)(&c_this->m_relPosition);
}

float bullet_btSoftBodyJointData_GetFieldOfM_split(btSoftBodyJointData* c_this){
	return (float)(c_this->m_split);
}

btSoftBodyFloatData* bullet_NewbtSoftBodyFloatData(){
	btSoftBodyFloatData* wrap_out = new btSoftBodyFloatData();
	return wrap_out;
}

btCollisionObjectFloatData* bullet_btSoftBodyFloatData_GetFieldOfM_collisionObjectData(btSoftBodyFloatData* c_this){
	return (btCollisionObjectFloatData*)(&c_this->m_collisionObjectData);
}

int bullet_btSoftBodyFloatData_GetFieldOfM_numAnchors(btSoftBodyFloatData* c_this){
	return (int)(c_this->m_numAnchors);
}

int bullet_btSoftBodyFloatData_GetFieldOfM_numClusters(btSoftBodyFloatData* c_this){
	return (int)(c_this->m_numClusters);
}

int bullet_btSoftBodyFloatData_GetFieldOfM_numFaces(btSoftBodyFloatData* c_this){
	return (int)(c_this->m_numFaces);
}

int bullet_btSoftBodyFloatData_GetFieldOfM_numJoints(btSoftBodyFloatData* c_this){
	return (int)(c_this->m_numJoints);
}

int bullet_btSoftBodyFloatData_GetFieldOfM_numLinks(btSoftBodyFloatData* c_this){
	return (int)(c_this->m_numLinks);
}

int bullet_btSoftBodyFloatData_GetFieldOfM_numMaterials(btSoftBodyFloatData* c_this){
	return (int)(c_this->m_numMaterials);
}

int bullet_btSoftBodyFloatData_GetFieldOfM_numNodes(btSoftBodyFloatData* c_this){
	return (int)(c_this->m_numNodes);
}

int bullet_btSoftBodyFloatData_GetFieldOfM_numTetrahedra(btSoftBodyFloatData* c_this){
	return (int)(c_this->m_numTetrahedra);
}

SoftRigidAnchorData* bullet_NewSoftRigidAnchorData(){
	SoftRigidAnchorData* wrap_out = new SoftRigidAnchorData();
	return wrap_out;
}

btMatrix3x3FloatData* bullet_SoftRigidAnchorData_GetFieldOfM_c0(SoftRigidAnchorData* c_this){
	return (btMatrix3x3FloatData*)(&c_this->m_c0);
}

btVector3FloatData* bullet_SoftRigidAnchorData_GetFieldOfM_c1(SoftRigidAnchorData* c_this){
	return (btVector3FloatData*)(&c_this->m_c1);
}

float bullet_SoftRigidAnchorData_GetFieldOfM_c2(SoftRigidAnchorData* c_this){
	return (float)(c_this->m_c2);
}

btVector3FloatData* bullet_SoftRigidAnchorData_GetFieldOfM_localFrame(SoftRigidAnchorData* c_this){
	return (btVector3FloatData*)(&c_this->m_localFrame);
}

int bullet_SoftRigidAnchorData_GetFieldOfM_nodeIndex(SoftRigidAnchorData* c_this){
	return (int)(c_this->m_nodeIndex);
}

btRigidBodyDoubleData** bullet_SoftRigidAnchorData_GetFieldOfM_rigidBody(SoftRigidAnchorData* c_this){
	return (btRigidBodyDoubleData**)(&c_this->m_rigidBody);
}

SoftBodyTetraData* bullet_NewSoftBodyTetraData(){
	SoftBodyTetraData* wrap_out = new SoftBodyTetraData();
	return wrap_out;
}

btVector3FloatData** bullet_SoftBodyTetraData_GetFieldOfM_c0(SoftBodyTetraData* c_this){
	return (btVector3FloatData**)(&c_this->m_c0);
}

float bullet_SoftBodyTetraData_GetFieldOfM_c1(SoftBodyTetraData* c_this){
	return (float)(c_this->m_c1);
}

float bullet_SoftBodyTetraData_GetFieldOfM_c2(SoftBodyTetraData* c_this){
	return (float)(c_this->m_c2);
}

SoftBodyMaterialData** bullet_SoftBodyTetraData_GetFieldOfM_material(SoftBodyTetraData* c_this){
	return (SoftBodyMaterialData**)(&c_this->m_material);
}

int** bullet_SoftBodyTetraData_GetFieldOfM_nodeIndices(SoftBodyTetraData* c_this){
	return (int**)(&c_this->m_nodeIndices);
}

int bullet_SoftBodyTetraData_GetFieldOfM_pad(SoftBodyTetraData* c_this){
	return (int)(c_this->m_pad);
}

float bullet_SoftBodyTetraData_GetFieldOfM_restVolume(SoftBodyTetraData* c_this){
	return (float)(c_this->m_restVolume);
}

SoftBodyPoseData* bullet_NewSoftBodyPoseData(){
	SoftBodyPoseData* wrap_out = new SoftBodyPoseData();
	return wrap_out;
}

btMatrix3x3FloatData* bullet_SoftBodyPoseData_GetFieldOfM_aqq(SoftBodyPoseData* c_this){
	return (btMatrix3x3FloatData*)(&c_this->m_aqq);
}

int bullet_SoftBodyPoseData_GetFieldOfM_bframe(SoftBodyPoseData* c_this){
	return (int)(c_this->m_bframe);
}

int bullet_SoftBodyPoseData_GetFieldOfM_bvolume(SoftBodyPoseData* c_this){
	return (int)(c_this->m_bvolume);
}

btVector3FloatData* bullet_SoftBodyPoseData_GetFieldOfM_com(SoftBodyPoseData* c_this){
	return (btVector3FloatData*)(&c_this->m_com);
}

int bullet_SoftBodyPoseData_GetFieldOfM_numPositions(SoftBodyPoseData* c_this){
	return (int)(c_this->m_numPositions);
}

int bullet_SoftBodyPoseData_GetFieldOfM_numWeigts(SoftBodyPoseData* c_this){
	return (int)(c_this->m_numWeigts);
}

int bullet_SoftBodyPoseData_GetFieldOfM_pad(SoftBodyPoseData* c_this){
	return (int)(c_this->m_pad);
}

btVector3FloatData** bullet_SoftBodyPoseData_GetFieldOfM_positions(SoftBodyPoseData* c_this){
	return (btVector3FloatData**)(&c_this->m_positions);
}

float bullet_SoftBodyPoseData_GetFieldOfM_restVolume(SoftBodyPoseData* c_this){
	return (float)(c_this->m_restVolume);
}

btMatrix3x3FloatData* bullet_SoftBodyPoseData_GetFieldOfM_rot(SoftBodyPoseData* c_this){
	return (btMatrix3x3FloatData*)(&c_this->m_rot);
}

btMatrix3x3FloatData* bullet_SoftBodyPoseData_GetFieldOfM_scale(SoftBodyPoseData* c_this){
	return (btMatrix3x3FloatData*)(&c_this->m_scale);
}

float** bullet_SoftBodyPoseData_GetFieldOfM_weights(SoftBodyPoseData* c_this){
	return (float**)(&c_this->m_weights);
}

SoftBodyNodeData* bullet_NewSoftBodyNodeData(){
	SoftBodyNodeData* wrap_out = new SoftBodyNodeData();
	return wrap_out;
}

btVector3FloatData* bullet_SoftBodyNodeData_GetFieldOfM_accumulatedForce(SoftBodyNodeData* c_this){
	return (btVector3FloatData*)(&c_this->m_accumulatedForce);
}

float bullet_SoftBodyNodeData_GetFieldOfM_area(SoftBodyNodeData* c_this){
	return (float)(c_this->m_area);
}

int bullet_SoftBodyNodeData_GetFieldOfM_attach(SoftBodyNodeData* c_this){
	return (int)(c_this->m_attach);
}

float bullet_SoftBodyNodeData_GetFieldOfM_inverseMass(SoftBodyNodeData* c_this){
	return (float)(c_this->m_inverseMass);
}

SoftBodyMaterialData** bullet_SoftBodyNodeData_GetFieldOfM_material(SoftBodyNodeData* c_this){
	return (SoftBodyMaterialData**)(&c_this->m_material);
}

btVector3FloatData* bullet_SoftBodyNodeData_GetFieldOfM_normal(SoftBodyNodeData* c_this){
	return (btVector3FloatData*)(&c_this->m_normal);
}

int bullet_SoftBodyNodeData_GetFieldOfM_pad(SoftBodyNodeData* c_this){
	return (int)(c_this->m_pad);
}

btVector3FloatData* bullet_SoftBodyNodeData_GetFieldOfM_position(SoftBodyNodeData* c_this){
	return (btVector3FloatData*)(&c_this->m_position);
}

btVector3FloatData* bullet_SoftBodyNodeData_GetFieldOfM_previousPosition(SoftBodyNodeData* c_this){
	return (btVector3FloatData*)(&c_this->m_previousPosition);
}

btVector3FloatData* bullet_SoftBodyNodeData_GetFieldOfM_velocity(SoftBodyNodeData* c_this){
	return (btVector3FloatData*)(&c_this->m_velocity);
}

SoftBodyMaterialData* bullet_NewSoftBodyMaterialData(){
	SoftBodyMaterialData* wrap_out = new SoftBodyMaterialData();
	return wrap_out;
}

float bullet_SoftBodyMaterialData_GetFieldOfM_angularStiffness(SoftBodyMaterialData* c_this){
	return (float)(c_this->m_angularStiffness);
}

int bullet_SoftBodyMaterialData_GetFieldOfM_flags(SoftBodyMaterialData* c_this){
	return (int)(c_this->m_flags);
}

float bullet_SoftBodyMaterialData_GetFieldOfM_linearStiffness(SoftBodyMaterialData* c_this){
	return (float)(c_this->m_linearStiffness);
}

float bullet_SoftBodyMaterialData_GetFieldOfM_volumeStiffness(SoftBodyMaterialData* c_this){
	return (float)(c_this->m_volumeStiffness);
}

SoftBodyLinkData* bullet_NewSoftBodyLinkData(){
	SoftBodyLinkData* wrap_out = new SoftBodyLinkData();
	return wrap_out;
}

int bullet_SoftBodyLinkData_GetFieldOfM_bbending(SoftBodyLinkData* c_this){
	return (int)(c_this->m_bbending);
}

SoftBodyMaterialData** bullet_SoftBodyLinkData_GetFieldOfM_material(SoftBodyLinkData* c_this){
	return (SoftBodyMaterialData**)(&c_this->m_material);
}

int** bullet_SoftBodyLinkData_GetFieldOfM_nodeIndices(SoftBodyLinkData* c_this){
	return (int**)(&c_this->m_nodeIndices);
}

float bullet_SoftBodyLinkData_GetFieldOfM_restLength(SoftBodyLinkData* c_this){
	return (float)(c_this->m_restLength);
}

SoftBodyFaceData* bullet_NewSoftBodyFaceData(){
	SoftBodyFaceData* wrap_out = new SoftBodyFaceData();
	return wrap_out;
}

SoftBodyMaterialData** bullet_SoftBodyFaceData_GetFieldOfM_material(SoftBodyFaceData* c_this){
	return (SoftBodyMaterialData**)(&c_this->m_material);
}

int** bullet_SoftBodyFaceData_GetFieldOfM_nodeIndices(SoftBodyFaceData* c_this){
	return (int**)(&c_this->m_nodeIndices);
}

btVector3FloatData* bullet_SoftBodyFaceData_GetFieldOfM_normal(SoftBodyFaceData* c_this){
	return (btVector3FloatData*)(&c_this->m_normal);
}

float bullet_SoftBodyFaceData_GetFieldOfM_restArea(SoftBodyFaceData* c_this){
	return (float)(c_this->m_restArea);
}

SoftBodyConfigData* bullet_NewSoftBodyConfigData(){
	SoftBodyConfigData* wrap_out = new SoftBodyConfigData();
	return wrap_out;
}

int bullet_SoftBodyConfigData_GetFieldOfM_aeroModel(SoftBodyConfigData* c_this){
	return (int)(c_this->m_aeroModel);
}

float bullet_SoftBodyConfigData_GetFieldOfM_anchorHardness(SoftBodyConfigData* c_this){
	return (float)(c_this->m_anchorHardness);
}

float bullet_SoftBodyConfigData_GetFieldOfM_baumgarte(SoftBodyConfigData* c_this){
	return (float)(c_this->m_baumgarte);
}

int bullet_SoftBodyConfigData_GetFieldOfM_clusterIterations(SoftBodyConfigData* c_this){
	return (int)(c_this->m_clusterIterations);
}

int bullet_SoftBodyConfigData_GetFieldOfM_collisionFlags(SoftBodyConfigData* c_this){
	return (int)(c_this->m_collisionFlags);
}

float bullet_SoftBodyConfigData_GetFieldOfM_damping(SoftBodyConfigData* c_this){
	return (float)(c_this->m_damping);
}

float bullet_SoftBodyConfigData_GetFieldOfM_drag(SoftBodyConfigData* c_this){
	return (float)(c_this->m_drag);
}

int bullet_SoftBodyConfigData_GetFieldOfM_driftIterations(SoftBodyConfigData* c_this){
	return (int)(c_this->m_driftIterations);
}

float bullet_SoftBodyConfigData_GetFieldOfM_dynamicFriction(SoftBodyConfigData* c_this){
	return (float)(c_this->m_dynamicFriction);
}

float bullet_SoftBodyConfigData_GetFieldOfM_kineticContactHardness(SoftBodyConfigData* c_this){
	return (float)(c_this->m_kineticContactHardness);
}

float bullet_SoftBodyConfigData_GetFieldOfM_lift(SoftBodyConfigData* c_this){
	return (float)(c_this->m_lift);
}

float bullet_SoftBodyConfigData_GetFieldOfM_maxVolume(SoftBodyConfigData* c_this){
	return (float)(c_this->m_maxVolume);
}

float bullet_SoftBodyConfigData_GetFieldOfM_poseMatch(SoftBodyConfigData* c_this){
	return (float)(c_this->m_poseMatch);
}

int bullet_SoftBodyConfigData_GetFieldOfM_positionIterations(SoftBodyConfigData* c_this){
	return (int)(c_this->m_positionIterations);
}

float bullet_SoftBodyConfigData_GetFieldOfM_pressure(SoftBodyConfigData* c_this){
	return (float)(c_this->m_pressure);
}

float bullet_SoftBodyConfigData_GetFieldOfM_rigidContactHardness(SoftBodyConfigData* c_this){
	return (float)(c_this->m_rigidContactHardness);
}

float bullet_SoftBodyConfigData_GetFieldOfM_softContactHardness(SoftBodyConfigData* c_this){
	return (float)(c_this->m_softContactHardness);
}

float bullet_SoftBodyConfigData_GetFieldOfM_softKineticClusterHardness(SoftBodyConfigData* c_this){
	return (float)(c_this->m_softKineticClusterHardness);
}

float bullet_SoftBodyConfigData_GetFieldOfM_softKineticClusterImpulseSplit(SoftBodyConfigData* c_this){
	return (float)(c_this->m_softKineticClusterImpulseSplit);
}

float bullet_SoftBodyConfigData_GetFieldOfM_softRigidClusterHardness(SoftBodyConfigData* c_this){
	return (float)(c_this->m_softRigidClusterHardness);
}

float bullet_SoftBodyConfigData_GetFieldOfM_softRigidClusterImpulseSplit(SoftBodyConfigData* c_this){
	return (float)(c_this->m_softRigidClusterImpulseSplit);
}

float bullet_SoftBodyConfigData_GetFieldOfM_softSoftClusterHardness(SoftBodyConfigData* c_this){
	return (float)(c_this->m_softSoftClusterHardness);
}

float bullet_SoftBodyConfigData_GetFieldOfM_softSoftClusterImpulseSplit(SoftBodyConfigData* c_this){
	return (float)(c_this->m_softSoftClusterImpulseSplit);
}

float bullet_SoftBodyConfigData_GetFieldOfM_timeScale(SoftBodyConfigData* c_this){
	return (float)(c_this->m_timeScale);
}

int bullet_SoftBodyConfigData_GetFieldOfM_velocityIterations(SoftBodyConfigData* c_this){
	return (int)(c_this->m_velocityIterations);
}

float bullet_SoftBodyConfigData_GetFieldOfM_volume(SoftBodyConfigData* c_this){
	return (float)(c_this->m_volume);
}

SoftBodyClusterData* bullet_NewSoftBodyClusterData(){
	SoftBodyClusterData* wrap_out = new SoftBodyClusterData();
	return wrap_out;
}

float bullet_SoftBodyClusterData_GetFieldOfM_adamping(SoftBodyClusterData* c_this){
	return (float)(c_this->m_adamping);
}

btVector3FloatData* bullet_SoftBodyClusterData_GetFieldOfM_av(SoftBodyClusterData* c_this){
	return (btVector3FloatData*)(&c_this->m_av);
}

int bullet_SoftBodyClusterData_GetFieldOfM_clusterIndex(SoftBodyClusterData* c_this){
	return (int)(c_this->m_clusterIndex);
}

int bullet_SoftBodyClusterData_GetFieldOfM_collide(SoftBodyClusterData* c_this){
	return (int)(c_this->m_collide);
}

btVector3FloatData* bullet_SoftBodyClusterData_GetFieldOfM_com(SoftBodyClusterData* c_this){
	return (btVector3FloatData*)(&c_this->m_com);
}

int bullet_SoftBodyClusterData_GetFieldOfM_containsAnchor(SoftBodyClusterData* c_this){
	return (int)(c_this->m_containsAnchor);
}

btVector3FloatData** bullet_SoftBodyClusterData_GetFieldOfM_dimpulses(SoftBodyClusterData* c_this){
	return (btVector3FloatData**)(&c_this->m_dimpulses);
}

btVector3FloatData** bullet_SoftBodyClusterData_GetFieldOfM_framerefs(SoftBodyClusterData* c_this){
	return (btVector3FloatData**)(&c_this->m_framerefs);
}

btTransformFloatData* bullet_SoftBodyClusterData_GetFieldOfM_framexform(SoftBodyClusterData* c_this){
	return (btTransformFloatData*)(&c_this->m_framexform);
}

float bullet_SoftBodyClusterData_GetFieldOfM_idmass(SoftBodyClusterData* c_this){
	return (float)(c_this->m_idmass);
}

float bullet_SoftBodyClusterData_GetFieldOfM_imass(SoftBodyClusterData* c_this){
	return (float)(c_this->m_imass);
}

btMatrix3x3FloatData* bullet_SoftBodyClusterData_GetFieldOfM_invwi(SoftBodyClusterData* c_this){
	return (btMatrix3x3FloatData*)(&c_this->m_invwi);
}

float bullet_SoftBodyClusterData_GetFieldOfM_ldamping(SoftBodyClusterData* c_this){
	return (float)(c_this->m_ldamping);
}

btMatrix3x3FloatData* bullet_SoftBodyClusterData_GetFieldOfM_locii(SoftBodyClusterData* c_this){
	return (btMatrix3x3FloatData*)(&c_this->m_locii);
}

btVector3FloatData* bullet_SoftBodyClusterData_GetFieldOfM_lv(SoftBodyClusterData* c_this){
	return (btVector3FloatData*)(&c_this->m_lv);
}

float** bullet_SoftBodyClusterData_GetFieldOfM_masses(SoftBodyClusterData* c_this){
	return (float**)(&c_this->m_masses);
}

float bullet_SoftBodyClusterData_GetFieldOfM_matching(SoftBodyClusterData* c_this){
	return (float)(c_this->m_matching);
}

float bullet_SoftBodyClusterData_GetFieldOfM_maxSelfCollisionImpulse(SoftBodyClusterData* c_this){
	return (float)(c_this->m_maxSelfCollisionImpulse);
}

float bullet_SoftBodyClusterData_GetFieldOfM_ndamping(SoftBodyClusterData* c_this){
	return (float)(c_this->m_ndamping);
}

int bullet_SoftBodyClusterData_GetFieldOfM_ndimpulses(SoftBodyClusterData* c_this){
	return (int)(c_this->m_ndimpulses);
}

int** bullet_SoftBodyClusterData_GetFieldOfM_nodeIndices(SoftBodyClusterData* c_this){
	return (int**)(&c_this->m_nodeIndices);
}

int bullet_SoftBodyClusterData_GetFieldOfM_numFrameRefs(SoftBodyClusterData* c_this){
	return (int)(c_this->m_numFrameRefs);
}

int bullet_SoftBodyClusterData_GetFieldOfM_numMasses(SoftBodyClusterData* c_this){
	return (int)(c_this->m_numMasses);
}

int bullet_SoftBodyClusterData_GetFieldOfM_numNodes(SoftBodyClusterData* c_this){
	return (int)(c_this->m_numNodes);
}

int bullet_SoftBodyClusterData_GetFieldOfM_nvimpulses(SoftBodyClusterData* c_this){
	return (int)(c_this->m_nvimpulses);
}

float bullet_SoftBodyClusterData_GetFieldOfM_selfCollisionImpulseFactor(SoftBodyClusterData* c_this){
	return (float)(c_this->m_selfCollisionImpulseFactor);
}

btVector3FloatData** bullet_SoftBodyClusterData_GetFieldOfM_vimpulses(SoftBodyClusterData* c_this){
	return (btVector3FloatData**)(&c_this->m_vimpulses);
}

#ifdef __cplusplus
}
#endif
